"""
平方根逼近

2的平方根可以用一个无限连分数表示：
      √ 2 = 1 + 1/(2 + 1/(2 + 1/(2 + … ))) = 1.414213…
将连分数计算取前四次迭代展开式分别是：
      1 + 1/2 = 3/2 = 1.5
      1 + 1/(2 + 1/2) = 7/5 = 1.4
      1 + 1/(2 + 1/(2 + 1/2)) = 17/12 = 1.41666…
      1 + 1/(2 + 1/(2 + 1/(2 + 1/2))) = 41/29 = 1.41379…
   接下来的三个迭代展开式分别是99/70、239/169和577/408，但是直到第八个迭代展开式1393/985，
分子的位数第一次超过分母的位数。
  在前一千个迭代展开式中，有多少个分数分子的位数多于分母的位数。

"""

fz=3
fm=2
t=1
cnt=0
while t<1000:
    fm,fz=fm+fz,fm*2+fz
    if len(str(fz))>len(str(fm)):
        cnt+=1
    t+=1
print(cnt)




#第一次迭代的初始值
# a=2#分母
# b=3#分子
# er=0#记录代数
# count=0#记录超过的次数
# while er<1000:
#     a,b=a+b,2*a+b#迭代表达式
#     if (len(str(b)))>len(str(a)):
#         count+=1
#     er+=1
# print(count)
# 答案：153